package recursos;

import java.awt.Image.*;
import java.awt.*;
import java.io.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import util.Constantes;

/**
 *
 * @author lzielinski
 */
public class CarnetLayout {

    private String imgFile;
    private Image fotoEscalada;
    private Image escudo = new ImageIcon("\\\\mpilar2\\c\\Fotos_legajo/escudo.jpg").getImage(); //TODO Revisar que la ruta esté bien
    private final String apellido;
    private final String nombre;
    private final String dni;
    private final String legajo;
    private final String cargo;
    private static final String LAB_PILAR = "MUNICIPALIDAD DEL PILAR";
    private static final String LAB_BSAS = "PROV DE BUENOS AIRES";
    private static final String LAB_CREDENCIAL = "CREDENCIAL";
    private static final String LAB_APELLIDO = "Apellido:";
    private static final String LAB_NOMBRE = "Nombre:";
    private static final String LAB_DNI = "Doc. Ident.:";
    private static final String LAB_CARGO = "Cargo:";
    private static final String LAB_CONTROL = "CONTROL";
    private static final String LAB_FIRMA_TITULAR = "Firma del titular";
    private static final String LAB_LUGAR = "Pilar, ";
    private static final String LAB_FIRMA_INTENDENTE = "FIRMA DEL INTENDENTE MUNICIPAL";
    private static ImageIO imageIO;
    PrintJob pj;

    // constructores
    public CarnetLayout(String apellido, String nombre, String dni, String legajo, String cargo, String imgFile) {
        this.apellido = apellido;
        this.nombre = nombre;
        this.dni = dni;
        this.legajo = legajo;
        this.cargo = cargo;
        this.imgFile = imgFile;
    }

    public void layoutImprimir() {

        try {

            // asigna el string que contiene el nombre de la cadena a un objeto tipo File
            File imageFile2 = new File("\\\\mpilar2\\c\\Fotos_legajo/escudo.jpg");

            // lee el objeto tipo File
            BufferedImage bufferedImage2 = imageIO.read(imageFile2);

            setEscudoResized(ImageFitter.fitSquare(bufferedImage2, 33));

        } catch (IOException e) {
            // Something went wrong!
            System.out.println("Error loading ");
            System.out.println(e.toString());
        }
        try {

            // setea el nombre de la cadena.jpg
            setCadenaImg(Constantes.UBICACION_RECURSOS + getCadenaImg() + ".JPG");

            // asigna el string que contiene el nombre de la cadena a un objeto tipo File
            File imageFile = new File(getCadenaImg());

            // lee el objeto tipo File
            BufferedImage bufferedImage = imageIO.read(imageFile);

            setFotoEscalada(ImageFitter.fitSquare(bufferedImage,100));

        } catch (Exception e) {
            // Something went wrong!
            System.out.println("Error loading " + getCadenaImg());
            System.out.println(e.toString());
        }

    }

    // getters and setters
    public String getCadena1() {
        return apellido;
    }

    public String getCadena2() {
        return nombre;
    }

    public String getCadenaImg() {
        return imgFile;
    }

    public void setCadenaImg(String cadenaImg) {
        this.imgFile = cadenaImg;
    }

    public Image getFoto() {
        return fotoEscalada;
    }

    public void setFotoEscalada(Image resized) {
        this.fotoEscalada = resized;
    }

    public String getCadena3() {
        return dni;
    }

    public String getCadena4() {
        return legajo;
    }

    public String getCadena5() {
        return cargo;
    }

    public String getMunicipalidad() {
        return LAB_PILAR;
    }

    public String getBuenosAires() {
        return LAB_BSAS;
    }

    public String getCredencial() {
        return LAB_CREDENCIAL;
    }

    public String getApellido() {
        return LAB_APELLIDO;
    }

    public String getNombre() {
        return LAB_NOMBRE;
    }

    public String getDoc() {
        return LAB_DNI;
    }

    public String getCargo() {
        return LAB_CARGO;
    }

    public String getControl() {
        return LAB_CONTROL;
    }

    public String getFirmaTitular() {
        return LAB_FIRMA_TITULAR;
    }

    public String getPilar() {
        return LAB_LUGAR;
    }

    public String getFirmaIntendente() {
        return LAB_FIRMA_INTENDENTE;
    }

    public Image getEscudo() {
        return escudo;
    }

    public void setEscudoResized(Image escudoResized) {
        this.escudo = escudoResized;
    }
}
